package com.cow.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品表实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("product")
public class Product extends Model<Product> implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "product_id", type = IdType.AUTO)
    private Integer productId; // 商品id（自增主键）

    @TableField("product_no")
    private String productNo; // 商品编号

    @TableField("product_name")
    private String productName; // 商品名称

    @TableField("product_type")
    private String productType; // 商品类别

    @TableField("product_describe")
    private String productDescribe; // 副标题

    @TableField("product_brand")
    private String productBrand; // 品牌

    @TableField("in_price")
    private BigDecimal inPrice; // 进价

    @TableField("out_price")
    private BigDecimal outPrice; // 售价

    @TableField("product_stock")
    private Integer productStock; // 库存

    @TableField("lowest_stock")
    private Integer lowestStock; // 最低库存

    @TableField("is_stock_out")
    private Boolean isStockOut; // 是否缺货（默认 0）

    @TableField("is_new")
    private Boolean isNew; // 是否新品（默认 1）

    @TableField("is_sale")
    private Boolean isSale; // 是否上架（默认 1）

    @TableField("sale_time")
    private LocalDateTime saleTime; // 上架时间（默认 CURRENT_TIMESTAMP）

    @TableField("product_url")
    private String productUrl; // 商品图片
}

